Videoconferencing and other forms of virtual collaboration allow the real-time exchange of video, audio, and/or other data among systems in remote locations. That real-time exchange of data often occurs over a computer network in the form of streaming video and/or audio data. Many systems can establish media streams at the beginning of an event, but cannot transition smoothly to new configurations as various systems enter and/or leave an event.
Additionally, numerous methods have been devised to connect systems with identical or substantially compatible capabilities. However, managing events involving systems with differing capabilities and/or systems connected to different networks is substantially more difficult. For example, few existing methods for event configuration adequately negotiate media connections among heterogeneous systems and/or heterogeneous networks. Those systems that require user input to establish connections detract from the collaborative experience. Other systems may establish connections automatically, but base media support on sometimes erroneous assumptions of the capabilities of participating systems.
One established protocol, Session Initiation Protocol (SIP), allows systems to negotiate media connections among multiple devices. However, SIP does not consider the relationships among media streams in order to maintain virtual relationships among participants. Moreover, SIP does not communicate the availability of advanced capabilities that would support optimal media connections. Current virtual collaboration systems do not adequately support systems with varying levels of functionality and/or allow dynamic reconfiguration of participating systems without interruption of an event in progress. They also lack support for the establishment of consistent virtual relationships among participating systems, such as participating systems that have different capabilities and/or that are connected to different networks.
Throughout the drawings, identical reference numbers may designate similar, but not necessarily identical, elements.